package com.budwk.app.sqfw.services;

import com.budwk.app.sqfw.models.BuildingInfo;
import com.budwk.app.sqfw.models.HouseInfo;
import com.budwk.app.sqfw.models.PersonInfo;
import com.budwk.app.sqfwV2.dto.dto.PersonInfoDTO;
import com.budwk.app.sqfwV2.dto.vo.*;
import com.budwk.starter.common.page.Pagination;
import com.budwk.starter.common.result.Result;
import com.budwk.starter.database.service.BaseService;

import java.util.List;

public interface HouseInfoService  extends BaseService<HouseInfo> {
    HouseInfo submitData(HouseInfo reqVo);

    HouseInfo findByDetailAddress(String detailAddress);

    void deleteData(HouseInfoReqVo reqVo);

    List<PersonInfo> listRelatePerson(PersonInfoReqVo reqVo);

    void initSaveHouse(BuildingInfo buildingInfo, String userId, BuildingInfo building);

    void updateFloor(HouseInfoReqVo dto);

    Result<Pagination> listBuildHouses(HouseInfoReqVo dto);

    List<HouseInfo> findByBuildId(String buildId);

    /**
     * 更新房屋关联人的信息
     */
    void updatePersonHouse(PersonInfoDTO personInfoDTO);

    Result<HouseInfoResVo> listAllHouseByBuildId(String buildingId);

    HouseInfo getHouseDetail(String houseId);
}
